home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
vol_300
/
335_03
/
as8096.txt
< prev
next >
Wrap
Text File
|
1990-12-02
|
24KB
|
859 lines
- 1 -
A. Appendix_for_as8096_Frankenstein_Assembler
A.1 Pseudo_Operations
A.1.1 Standard_Pseudo_Operation_Mnemonics
End END
File Inclusion INCL INCLUDE
If IF
Else ELSE
End If ENDI
Equate EQU
Set SET
Org ORG
Reserve Memory DSB RESERVE RMB
Define Byte Data BYTE DCB FCB
Define String Data FCC STRING
Define Character Set Translation CHARSET
Define Character Value CHARDEF CHD
Use Character Translation CHARUSE
A.1.2 Machine_Dependent_Pseudo_Operations
A.1.2.1 Define_Word_Data,_Aligned
[Label] WORD expression [, expression] ...
[Label] FDB expression [, expression] ...
[Label] DCW expression [, expression] ...
The define word statement generates a two byte integer for
each expression in the expression list. There can be up to
128 expressions on a line, more than the line length will
allow. The location counter is adjusted by skipping bytes
to make the first location address divisible by 2. The
generated constants are in byte reversed order, with the low
order byte first, followed by the high order byte. The
optional label is set to the first location of this area.
A.1.2.2 Define_Long_Word_Data,_Aligned
[Label] LONG expression [, expression] ...
[Label] DCL expression [, expression] ...
The define long word statement generates a four byte integer
for each expression in the expression list. There can be up
to 128 expressions on a line, more than the line length will
allow. The location counter is adjusted by skipping bytes
to make the first location address divisible by 4. The
generated constants are in byte reversed order, with the low
order byte first, followed by the high order bytes. The
optional label is set to the first location of this area.
- 2 -
A.1.2.3 Reserve_Memory,_Word_Aligned
[Label] DSW expression
This statement moves the location counter forward by the
number of bytes specified in the expression. The location
counter is adjusted by skipping bytes to make the first
location address divisible by 2. The label is set to the
first location of this area.
A.1.2.4 Reserve_Memory,_Long_Word_Aligned
[Label] DSL expression
This statement moves the location counter forward by the
number of long words specified in the expression. The
location counter is adjusted by skipping bytes to make the
first location address divisible by 4. The label is set to
the first location of this area.
A.1.2.5 Instruction_Set_Selection
CPU string
The instruction set can be specified in the source file with
the CPU pseudooperation. The string, delimited by quotes or
apostrophes, is scanned for a substring which selects which
instruction set is used. When the program is invoked, this
operation is performed on the name of the program, then the
-p optional arguement, if any, and then any CPU statements.
The last one selects which subset of the instructions the
assembler will accept. The instruction set can be changed
at any place in the source file.
Instruction Set Substrings
80c196 19
8096 9
A.2 Instructions
A.2.1 Instruction_List
Opcode Syntax Selection Criteria
ADD expr ',' '#' expr
ADD expr ',' '[' expr ']'
ADD expr ',' expr ',' '#' expr
ADD expr ',' expr ',' '[' expr ']'
- 3 -
Opcode Syntax Selection Criteria
ADD expr ',' expr ',' expr '[' expr ']' DIRECT
ADD expr ',' expr ',' expr '[' expr ']' EXTENDED
ADD expr ',' expr ',' expr DIRECT
ADD expr ',' expr ',' expr EXTENDED
ADD expr ',' expr '[' expr ']' DIRECT
ADD expr ',' expr '[' expr ']' EXTENDED
ADD expr ',' expr DIRECT
ADD expr ',' expr EXTENDED
ADDB expr ',' '#' expr
ADDB expr ',' '[' expr ']'
ADDB expr ',' expr ',' '#' expr
ADDB expr ',' expr ',' '[' expr ']'
ADDB expr ',' expr ',' expr '[' expr ']' DIRECT
ADDB expr ',' expr ',' expr '[' expr ']' EXTENDED
ADDB expr ',' expr ',' expr DIRECT
ADDB expr ',' expr ',' expr EXTENDED
ADDB expr ',' expr '[' expr ']' DIRECT
ADDB expr ',' expr '[' expr ']' EXTENDED
ADDB expr ',' expr DIRECT
ADDB expr ',' expr EXTENDED
ADDC expr ',' '#' expr
ADDC expr ',' '[' expr ']'
ADDC expr ',' expr '[' expr ']' DIRECT
ADDC expr ',' expr '[' expr ']' EXTENDED
ADDC expr ',' expr DIRECT
ADDC expr ',' expr EXTENDED
ADDCB expr ',' '#' expr
ADDCB expr ',' '[' expr ']'
ADDCB expr ',' expr '[' expr ']' DIRECT
ADDCB expr ',' expr '[' expr ']' EXTENDED
ADDCB expr ',' expr DIRECT
ADDCB expr ',' expr EXTENDED
AND expr ',' '#' expr
AND expr ',' '[' expr ']'
AND expr ',' expr ',' '#' expr
AND expr ',' expr ',' '[' expr ']'
AND expr ',' expr ',' expr '[' expr ']' DIRECT
AND expr ',' expr ',' expr '[' expr ']' EXTENDED
AND expr ',' expr ',' expr DIRECT
AND expr ',' expr ',' expr EXTENDED
AND expr ',' expr '[' expr ']' DIRECT
AND expr ',' expr '[' expr ']' EXTENDED
AND expr ',' expr DIRECT
- 4 -
Opcode Syntax Selection Criteria
AND expr ',' expr EXTENDED
ANDB expr ',' '#' expr
ANDB expr ',' '[' expr ']'
ANDB expr ',' expr ',' '#' expr
ANDB expr ',' expr ',' '[' expr ']'
ANDB expr ',' expr ',' expr '[' expr ']' DIRECT
ANDB expr ',' expr ',' expr '[' expr ']' EXTENDED
ANDB expr ',' expr ',' expr DIRECT
ANDB expr ',' expr ',' expr EXTENDED
ANDB expr ',' expr '[' expr ']' DIRECT
ANDB expr ',' expr '[' expr ']' EXTENDED
ANDB expr ',' expr DIRECT
ANDB expr ',' expr EXTENDED
BMOV expr ',' expr CPU196
BR '[' expr ']'
CLR expr
CLRB expr
CLRC
CLRVT
CMP expr ',' '#' expr